
#define _GNU_SOURCE
#include <dlfcn.h>
#include <unistd.h>
#include <stdio.h>

// 原始函数指针
ssize_t (*original_write)(int, const void *, size_t) = NULL;

// 自定义write函数
ssize_t write(int fd, const void *buf, size_t count) {
    // 获取原始函数地址（首次调用时初始化）
    if (!original_write) {
        original_write = dlsym(RTLD_NEXT, "write");
    }

    // 仅拦截stdout/stderr
    if (fd == 1 || fd == 2) {
        printf("[Hooked] ");  // 示例：添加前缀
    }

    // 调用原始函数
    return original_write(fd, buf, count);
}

